@echo off
chcp 65001 >nul
echo ==========================================
echo QQ即时通信 - 表情功能专项测试
echo ==========================================
echo.

echo 😊 本工具专门测试表情功能：
echo 1️⃣ 表情按钮显示测试
echo 2️⃣ 表情面板渲染验证
echo 3️⃣ 表情输入和发送
echo 4️⃣ 混合字体支持测试
echo.

echo === 准备测试环境 ===
echo 📋 测试重点：
echo ✅ 表情按钮（😊）是否正确显示（不是乱码方块）
echo ✅ 图片按钮（📷）是否正确显示
echo ✅ 表情面板中的emoji是否清晰显示
echo ✅ 输入框中emoji和中文的混合显示
echo ✅ 发送的emoji消息是否正确显示
echo.

echo === 编译项目 ===
call mvn compile -q
if %errorlevel% neq 0 (
    echo ❌ 编译失败！
    pause
    exit /b 1
)
echo ✅ 编译成功
echo.

echo === 启动程序（表情功能调试模式）===
set EMOJI_DEBUG_OPTS=-Dfile.encoding=UTF-8
set EMOJI_DEBUG_OPTS=%EMOJI_DEBUG_OPTS% -Dsun.jnu.encoding=UTF-8
set EMOJI_DEBUG_OPTS=%EMOJI_DEBUG_OPTS% -Duser.language=zh
set EMOJI_DEBUG_OPTS=%EMOJI_DEBUG_OPTS% -Duser.country=CN
set EMOJI_DEBUG_OPTS=%EMOJI_DEBUG_OPTS% -Djava.awt.useSystemAAFontSettings=on
set EMOJI_DEBUG_OPTS=%EMOJI_DEBUG_OPTS% -Dswing.aatext=true

echo JVM参数: %EMOJI_DEBUG_OPTS%
echo.

echo 🚀 启动客户端（表情功能测试版）...
echo.
echo 📝 详细测试步骤：
echo.
echo 🔹 第1步：界面显示检查
echo   - 观察底部工具栏的表情按钮😊
echo   - 检查图片按钮📷是否正确显示
echo   - 确认按钮不是乱码方块□
echo.
echo 🔹 第2步：表情面板测试
echo   - 点击😊按钮打开表情面板
echo   - 检查面板中8个emoji是否清晰显示
echo   - 测试点击任意emoji插入到输入框
echo.
echo 🔹 第3步：输入框混合文本测试
echo   - 在输入框中输入：你好😊测试👍
echo   - 验证中文和emoji同时正确显示
echo   - 检查字符显示清晰度
echo.
echo 🔹 第4步：消息发送测试
echo   - 发送包含emoji的消息
echo   - 在聊天窗口中验证emoji显示
echo   - 测试接收方的emoji显示效果
echo.
echo 🔹 第5步：字体调试信息检查
echo   - 观察控制台的字体选择信息
echo   - 查看"选择Emoji字体"输出
echo   - 确认"混合字体"选择成功
echo.
echo 🔍 重点观察控制台输出：
echo   ✅ 选择Emoji字体：[字体名称]
echo   ✅ 为按钮设置字体：[字体名称]  
echo   ✅ 选择混合字体：[字体名称] (支持率)
echo   ✅ 检测到emoji按钮：😊
echo   ✅ 创建emoji按钮：😀😂😍😢😎👍❤️🎉
echo   ✅ 表情面板显示完成
echo   ✅ 插入emoji：[具体emoji]
echo.

java %EMOJI_DEBUG_OPTS% -cp target/classes com.qqim.client.ClientMain

echo.
echo === 测试结果分析 ===
echo.
echo 🔍 如果表情仍显示异常，请检查：
echo 1. 控制台是否显示"选择Emoji字体成功"
echo 2. 是否出现"使用Emoji回退字体"警告
echo 3. 按钮文本是否被正确识别为emoji
echo 4. 混合字体的支持率是否达到80%以上
echo.
echo 📊 常见问题排查：
echo - 表情按钮显示方块：检查emoji字体是否可用
echo - 表情面板空白：查看emoji按钮创建过程
echo - 输入框emoji乱码：检查混合字体选择结果
echo - 消息中emoji异常：验证消息渲染字体设置
echo.
echo 💡 字体支持说明：
echo - Windows系统推荐：Segoe UI Emoji
echo - 如无emoji字体：会回退到系统默认字体
echo - 中文+emoji混合：优先选择Microsoft YaHei UI
echo.

pause 